The Recursive Record Semantics of Objects Revisited

نویسنده

  • Gérard Boudol
چکیده

In a call-by-value language, representing objects as recursive records requires using an unsafe xpoint. We design, for a core language including extensible records, a type system which rules out unsafe recursion and still supports the reconstruction of a principal type. We illustrate the expressive power of this language with respect to object-oriented programming by introducing a sub-language for mixin-based programming. Key-words: xpoint, types, records, objects, semantics Work partially supported by the CTI Objets Migrants: Modélisation et Véri cation , France Télécom R&D, and by the French-Portugese Project Sémantique des Object Concurrents . Sur la Sémantique des Objets comme Enregistrements Récursifs Résumé : La représentation des objets comme enregistrements récursifs dans un langage en appel par valeur requiert l'utilisation d'un combinateur de point xe qui peut introduire des erreurs à l'exécution. Nous présentons un typage de la récursion qui o re les avantages du typage à la ML, à savoir: typage implicite avec reconstruction d'un type principal, et garantie qu'un programme typable ne produira pas d'erreur à l'exécution. Nous illustrons le pouvoir expressif du calcul obtenu en dé nissant un sous-calcul de "mixins", et en donnant quelques exemples exprimés dans ce langage. Mots-clés : point xe, types, enregistrements, objets, sémantique The Recursive Record Semantics of Objects 3

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Programming Objects with ML-ART, an Extension to ML with Abstract and Record Types

Class-based objects can be programmed directly and ee-ciently in a simple extension to ML. The representation of objects, based on abstract and record types, allows all usual operations such as multiple inheritance, object returning capability, and message transmission to themselves as well as to their super classes. There is, however, no implicit coercion from objects to corresponding ones of ...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

A Semantics of Object Types

We give a semantics for a typed object calculus, an extension of System F with object subsumption and method override. We interpret the calculus in a per model, proving the soundness of both typing and equational rules. This semantics suggests a syntactic translation from our calculus into a simpler calculus with neither subtyping nor objects. 1. Objects, Records, and Functions Despite the many...

متن کامل

OCamllight in Ott

OCamllight key points •Written in Ott • Faithful to Objective Caml (very nearly) • Type soundness proof mechanized in HOL (Coq and Isabelle/HOL definitions generated too) • Operational semantics validated on test programs • Small-step operational semantics (131 rules) • Type system (179 rules, below) • definitions: – variant data types (e.g., type t = I of int | C of char), – record types (e.g....

متن کامل

Recursive Object Types in a Logic of Object-Oriented Programs

This paper formalizes a small object-oriented programming notation. The notation features imperative commands where objects can be shared (aliased), and is rich enough to allow subtypes and recursive object types. The syntax, type checking rules, axiomatic semantics, and operational semantics of the notation are given. A soundness theorem, showing the consistency between the axiomatic and opera...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • J. Funct. Program.

دوره 14  شماره 

صفحات  -

تاریخ انتشار 2001